perm filename SS[XX,LCS] blob
sn#207684 filedate 1976-03-20 generic text, type T, neo UTF8
00100 TITLE SS
00200 INTERNAL STAFF
00300 EXTERNAL STF,ALF,LINES,LINX,.COMM.,RHORZ,PLTR,POSI
00500 ; REAL DIS,DISX,HGT,POS,CENTR,STFF,HGT1
00700 ; COMMON R2,JA,CENTR,J2,RJQ(20),JQ(20)/BM/RA,RC,RJY
00800 ; COMMON/POSI/STFF(-3/4),JJ2,POS/PLTR/PLT,RHT,DIS
01100 ; EQUIVALENCE (J3,JQ(1)),(J4,JQ(2)),(J5,JQ(3)),(R5,RJQ(3))
01200 ; 1,(R6,RJQ(4)),(J7,JQ(5)),(J8,JQ(6)),(J9,JQ(7)),(J10,JQ(8))
01300 ; 1,(J11,JQ(9)),(J6,JQ(4)),(R9,RJQ(7)),(R8,RJQ(6)),(R3,RJQ(1))
01400 ; 1 ,(R7,RJQ(5)),(R4,RJQ(2)),(R9,RJQ(7)),(R10,RJQ(8)),(RX3,RJQ(20))
19400 STAFF: 0 ;100 RA=0
19500 ; FOR STAFF LINES: 8, POS 1, HGT(3 TO -3), UP-DOWN(NT #S),
19600 ; P5=SIZE, P6=2ND POS., P7=(1=INVIS.), P8=SPACER, P9=INST. NAME
19700 ; P6=SIZE FACTOR, IF P7≠0 STAFF IS INVIS.
19800 ; PLT =-2 MAKES HEAVY STAFF.(FOR XGP)
19900 ; IF(R5.EQ.0)R5=RSTFAC(J2)
19950 MOVE 2,.COMM.+6
19975 JUMPN 2,.+3
19980 MOVE 3,.COMM.+3 ; J2
19985 MOVE 2,POSI+3(3) ; TEMP. R5 IS 2
20000 SKIPN 2 ;CALL NOZERO(R5)
20005 MOVE 2,[1.0]
20100 MOVEM 2,STF+3(3) ;RSTFAC(J2)=R5
20200 MOVE 4,.COMM.+5 ;RX=(J2+3)*123-369.+AMOD(R4,100.)*7.*R5
20230 FMPR 4,[7.0]
20240 FMPR 4,2
20245 MOVE 15,3
20250 ADDI 15,3 ; J2+3
20260 MULI 15,=123
20270 SUBI 15,=369
20280 TLC 15,232000
20290 FADR 15,15
20295 FADR 15,4 ; 15 IS RX
20400 MOVEM 15,POSI+3(3) ;STFF(J2)=RX
20500 MOVE 13,[3.0] ; RTF RX=RX+RTF*R5
20550 FMPR 13,2
20575 FADR 15,13 ; 15 IS RX
20600 ; FOR RTF SEE DATA
20700 MOVE 13,15 ; 13 IS RA
20800 ; FOR 2 PASS PLOTTING
20900 JSA 16,RHORZ ;RJ=RHORZ(R6)
20950 JUMP .COMM.+7
21000 SKIPN .COMM.+7
21025 MOVE [596.0] ;IF(R6.EQ.0)RJ=596
21050 MOVEM ALF+4 ; RJ
21100 FMPR 2,[14.0] ;R5=R5*14.
21110 MOVEM 2,.COMM.+6
21200 SKIPE .COMM.+10 ;IF(R8.EQ.0)GO TO 68
21210 SKIPGE PLTR
21300 JRST STF68 ;IF(PLT)GO TO 68
21400 MOVE 14,.COMM.+10 ;RZ=RX+R8*167.
21410 FMPR 14,[167.0]
21420 FADR 14,15 ; 15 IS RX
21430 ;;; MOVEM 14,ALF+5 ; RZ
21500 ; 167 IS A MAGIC NUMBER!! PUTS LINE ON DPY.
21600 JSA 16,LINX ;CALL LINX(R3,RZ,RJ,RZ)
21610 JUMP .COMM.+4
21620 JUMP 14
21630 JUMP ALF+4
21640 JUMP 14
21700 ; SHOWS WHERE NEXT STAFF 0 WILL BE.
21800 STF68: SKIPN .COMM.+=28 ;68 IF(J7.EQ.0)GO TO 101
21810 JRST STF101
21900 SKIPN PLTR ;IF(PLT.EQ.0)CALL LINES(-596.,RX,3)
21910 JRA 16,(16)
21920 JSA 16,LINES
21930 JUMP [3]
21940 JUMP [3]
21950 JUMP [3]
22000 ; TO ACTIVATE DPY BUFFER
22100 JRA 16,(16) ;RETURN
22110 STF101: MOVE 14,.COMM.+=25 ;101 L=IABS(J4/100)
22115 IDIVI 14,=100
22117 MOVM 14
22120 SKIPN 14, ;IF(L.EQ.0)L=5
22125 MOVEI 14,5 ; L IS 14
22130 ; P4=0=STANDARD 5-LINE STAFF. 600=6 LINES, ETC.
22200 STF69: SETZ 12, ; K 69 DO 6 K=1,L
22210 MOVE 11,ALF+4
22220 MOVE 10,.COMM.+4
22230 STF1: JSA 16,LINX
22300 JUMP 11 ;RZ=RJ
22400 JUMP 15 ;RW=R3
22500 JUMP 10 ;IF(K.EQ.2)GO TO 66
22600 JUMP 15 ;IF(K.NE.4)GO TO 67
22700 EXCH 11,10 ;66 CALL EXCH(RW,RZ)
22800 FADR 15,.COMM.+6 ;67 CALL LINX(RZ,RX,RW,RX)
22900 AOJ 12, ;6 RX=RX+R5
22910 CAMGE 12,14
22920 JRST STF1
23000 MOVNI 2 ;IF(RA.EQ.1000)RETURN
23100 CAMN PLTR ;IF(PLT.NE.-2)RETURN
23200 SKIPN 13 ;RX=RA-1./RHT
23210 JRA 16,(16)
23400 MOVN 15,[1.0] ;RA=1000
23410 FDVR 15,PLTR+1
23420 FADR 15,13
23500 SETZ 13, ;GO TO 69
23600 JRST STF69 ;END
23610 END